.\" Copyright 2002, Walter Harms <walter.harms@informatik.uni-oldenburg.de>
.\" Copyright 2002, Andries Brouwer <aeb@cwi.nl>
.\" Copyright 2024, Alejandro Colomar <alx@kernel.org>
.\"
.\" SPDX-License-Identifier: GPL-1.0-or-later
.\"
.TH TIOCCONS 2const 2024-06-13 "Linux man-pages 6.9.1"
.SH NAME
TIOCCONS
\-
redirecting console output
.SH LIBRARY
Standard C library
.RI ( libc ", " \-lc )
.SH SYNOPSIS
.nf
.BR "#include <asm/termbits.h>" "  /* Definition of " TIOCCONS " */"
.B #include <sys/ioctl.h>
.P
.BI "int ioctl(int " fd ", TIOCCONS);"
.fi
.SH DESCRIPTION
Redirect output that would have gone to
.I /dev/console
or
.I /dev/tty0
to the given terminal.
If that was a pseudoterminal master, send it to the slave.
.P
Only a process with the
.B CAP_SYS_ADMIN
capability may do this.
.P
If output was redirected already, then
.B EBUSY
is returned,
but redirection can be stopped by using this ioctl with
.I fd
pointing at
.I /dev/console
or
.IR /dev/tty0 .
.SH RETURN VALUE
On success,
0 is returned.
On error,
\-1 is returned, and
.I errno
is set to indicate the error.
.SH ERRORS
.TP
.B EBUSY
Output was redirected already.
.TP
.B EPERM
Insufficient permission.
.SH HISTORY
Before Linux 2.6.10,
anybody can do this as long as the output was not redirected yet;
.B CAP_SYS_ADMIN
was not necessary.
.SH SEE ALSO
.BR ioctl (2),
.BR ioctl_tty (2)
